import Vue from 'vue'

export default {
  // 获取连接参数值
  getUrlParams(name) {
    let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')
    let r = window.location.search.substr(1).match(reg)
    if (r != null) {
      return unescape(r[2])
    }
    return null
  },
  // 判断设备处于PC还是移动端
  isIOS() {
    if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
      return true
    } else {
      return false
    }
  },
  // 判断安卓或者ios终端
  testMobileType() {
    const u = navigator.userAgent
    const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 // android终端
    const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
    if (isAndroid) {
      return 'android'
    } else if (isiOS) {
      return 'ios'
    } else {
      return 'pc'
    }
  },
  // 校验手机号码
  isPhone(val) {
    const str = /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\d{8})$/
    if (!str.test(val) || val === '') {
      return false
    } else {
      return true
    }
  },
  //判断是否文字
  insText(val, desc) {
    //为空或全部为空格
    if (val.length < 1 || val.match(/^[ ]*$/)) {
      Vue.prototype.$Toast(desc)
      return
    } else if (!/^[\u4e00-\u9fa5]+$/.test(val)) {
      Vue.prototype.$Toast('输入内容必须为中文汉字')
      return
    }
    return true
  },
  //判断是否为数字字母
  isAlphanumeric(value,desc) {
    const alphanumeric = /^[A-Za-z0-9]*$/;
    if (alphanumeric.test(value)) {
      return true
    }
    else {
      Vue.prototype.$Toast(desc)
      return
    }
  },
  //判断是否为空
  insEmpty(val,desc) {
    //为空或全部为空格
    if(val.length < 1 || val.match(/^[ ]*$/)) {
      Vue.prototype.$Toast(desc)
      return
    }
    return true
  },
  //判断两个对象是否相等
  diffObj(obj1, obj2) {
    let o1 = obj1 instanceof Object
    let o2 = obj2 instanceof Object
    if( !o1 || !o2 )  {/*  判断不是对象  */
      return obj1 === obj2
    }
    if(Object.keys(obj1).length !== Object.keys(obj2).length) {
      return false
    }
    for(let attr in obj1) {
      let t1 = obj1[attr] instanceof Object
      let t2 = obj2[attr] instanceof Object
      if( t1 && t2 ) {
        return diff(obj1[attr],obj2[attr])
      } else if(obj1[attr] !== obj2[attr]) {
        return false
      }
    }
    return true
  },
  //判断两个数组是否相等
  diffArr(array1,array2) {
    return array1.length == array2.length && array1.every(function(v,i) { return v === array2[i]})
  },

  //是否在微信内置浏览器
  isWeiXin(){
    let ua = window.navigator.userAgent.toLowerCase()
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
      return true
    }else{
      return false
    }
  },
}